package com.sy.olddriver.service;

import com.sy.olddriver.dto.CartItem;
import com.sy.olddriver.dto.Result;
import com.sy.olddriver.entity.Product;

import java.util.List;

/**
 * 购物车业务逻辑接口
 *
 * @author Administrator
 */
public interface CartService {
    /**
     * 将产品添加到购物车
     *
     * @param pid   产品编号
     * @param count 产品数量
     * @return 添加购物车的操作结果
     */
    Result addToCart(String pid, String count);


    /**
     * 合并离线状态和登录状态下的购物车数据
     *
     * @param userId 当前登录用户的id
     */
    void mergeCart(Integer userId);


    /**
     * 获取购物车中的产品信息
     *
     * @return 购物车产品信息
     */
    Result getCartItems();


    /**
     * 清除购物车
     *
     * @return 清空购物车并返回当前购物车中数据的一个结果
     */
    Result clearCart();

    /**
     * 删除某一条购物车数据
     *
     * @param pid 要删除的产品编号
     * @return 删除数据后当前的购物车的信息
     */
    Result delOneCartItem(String pid);


    /**
     * 更新购物车商品的数量信息
     *
     * @param pid   产品编号
     * @param count 要更新的数量
     * @return 购物车商品更新后的购物车信息
     */
    Result updateCartItem(String pid, String count);

}
